package com.yq.cp.entity.basics;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yq.cp.entity.common.BaseEntity;
import com.yq.cp.entity.permission.User;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 巡检任务管理
 * </p>
 *
 * @author shenyuqing
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_inspection_task_management")
public class InspectionTaskManagement extends BaseEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 站点id
     */
    private Long siteId;

    /**
     * 站点名
     */
    private String siteName;

    /**
     * 计划名
     */
    private String planName;

    /**
     * 路线id
     */
    private Long routeId;

    /**
     * 路线名
     */
    private String routeName;

    /**
     * 线路类型
     */
    private String routeType;

    /**
     * 负责人id
     */
    private Long headId;

    /**
     * 负责人名
     */
    private String headName;

    /**
     * 运维人员名
     */
    private String otherName;

    /**
     * 最晚执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date times;

    /**
     * 0-待领取  1-待执行  2-已执行
     */
    private Integer state;

    @TableField(exist = false)
    private String stateName;
    /**
     * 创建人
     */
    private String createName;
    /**
     * 接取人名
     */
    private String receivingname;

    /**
     * 接取时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date receivingtime;
    /**
     * 接取人id
     */
    private Long receivingid;
    /**
     * 问题描述
     */
    private String questionContent;
    /**
     * 问题图片
     */
    private String questionPhoto;
    /**
     * 计划的id
     */
    private Long planId;

    @TableField(exist = false)
    private List<InspectionItemManagementExtend> itemExtendList;
    /**
     * 巡检点集合
     */
    @TableField(exist = false)
    private List<InspectionPointManagementExtend> pointManagementExtends;
    /**
     * 运维人员id集合
     */
    @TableField(exist = false)
    private List<Long> userIds;

    /**
     * 运维人员id集合
     */
    @TableField(exist = false)
    private List<User> users;

    /**
     * 是否能领取   0-不能   1-可以领取
     */
    @TableField(exist = false)
    private Integer enableLq;
}
